{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 直方图参数\n",
    "\n",
    "plt.hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, normed=None)\n",
    "\n",
    "* x：指定要绘制直方图的数据；输入值，这需要一个数组或者一个序列，不需要长度相同的数组。\n",
    "* bins：指定直方图条形的个数；\n",
    "* range：指定直方图数据的上下界，默认包含绘图数据的最大值和最小值；\n",
    "* density：布尔,可选。如果\"True\"，返回元组的第一个元素将会将计数标准化以形成一个概率密度，也就是说，直方图下的面积（或积分）总和为1。这是通过将计数除以数字的数量来实现的观察乘以箱子的宽度而不是除以总数数量的观察。如果叠加也是“真实”的，那么柱状图被规范化为1。(替代normed)\n",
    "* weights：该参数可为每一个数据点设置权重；\n",
    "* cumulative：是否需要计算累计频数或频率；\n",
    "* bottom：可以为直方图的每个条形添加基准线，默认为0；\n",
    "* histtype：指定直方图的类型，默认为bar，除此还有’barstacked’, ‘step’, ‘stepfilled’；\n",
    "* align：设置条形边界值的对其方式，默认为mid，除此还有’left’和’right’；\n",
    "* orientation：设置直方图的摆放方向，默认为垂直方向；\n",
    "* rwidth：设置直方图条形宽度的百分比；\n",
    "* log：是否需要对绘图数据进行log变换；\n",
    "* color：设置直方图的填充色；\n",
    "* label：设置直方图的标签，可通过legend展示其图例；\n",
    "* stacked：当有多个数据时，是否需要将直方图呈堆叠摆放，默认水平摆放；\n",
    "* normed：是否将直方图的频数转换成频率；(弃用，被density替代)\n",
    "* alpha：透明度，浮点数。\n",
    "\n",
    "## 返回值\n",
    "\n",
    "### n : 数组或数组列表\n",
    "\n",
    "直方图的值\n",
    "\n",
    "\n",
    "### bins : 数组\n",
    "\n",
    "返回各个bin的区间范围\n",
    "\n",
    "### patches : 列表的列表或列表\n",
    "\n",
    "返回每个bin里面包含的数据，是一个list\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.family']='SimHei'\n",
    "plt.rcParams['font.size']=20\n",
    "\n",
    "# 直方图\n",
    "mu = 100\n",
    "sigma = 20\n",
    "x = np.random.normal(100,20,100) # 均值和标准差\n",
    "\n",
    "plt.hist(x,bins=20,color='red',histtype='stepfilled',alpha=0.75)\n",
    "plt.title('直方图数据分析与展示')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 等距直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n 是分组区间对应的频率： [0.00087199 0.00152598 0.00610392 0.01286182 0.01678577 0.02681363\n",
      " 0.02463366 0.01264383 0.00479593 0.00196197]\n",
      "\n",
      "bins_limits 是分组时的分隔值： [ 50.03282244  59.2072611   68.38169976  77.55613842  86.73057707\n",
      "  95.90501573 105.07945439 114.25389305 123.42833171 132.60277037\n",
      " 141.77720903]\n",
      "\n",
      "patches 指的是是直方图中列表对象 <class 'matplotlib.cbook.silent_list'>\n",
      "\n",
      "0 Rectangle(xy=(50.0328, 0), width=9.17444, height=0.000871988, angle=0)\n",
      "1 Rectangle(xy=(59.2073, 0), width=9.17444, height=0.00152598, angle=0)\n",
      "2 Rectangle(xy=(68.3817, 0), width=9.17444, height=0.00610392, angle=0)\n",
      "3 Rectangle(xy=(77.5561, 0), width=9.17444, height=0.0128618, angle=0)\n",
      "4 Rectangle(xy=(86.7306, 0), width=9.17444, height=0.0167858, angle=0)\n",
      "5 Rectangle(xy=(95.905, 0), width=9.17444, height=0.0268136, angle=0)\n",
      "6 Rectangle(xy=(105.079, 0), width=9.17444, height=0.0246337, angle=0)\n",
      "7 Rectangle(xy=(114.254, 0), width=9.17444, height=0.0126438, angle=0)\n",
      "8 Rectangle(xy=(123.428, 0), width=9.17444, height=0.00479593, angle=0)\n",
      "9 Rectangle(xy=(132.603, 0), width=9.17444, height=0.00196197, angle=0)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mu = 100  # 平均分布\n",
    "sigma = 15  # 标准偏差的分布\n",
    "x = mu + sigma * np.random.randn(500)\n",
    "\n",
    "# 指定分组个数\n",
    "num_bins = 10\n",
    "\n",
    "\n",
    "\n",
    "# 通过调用 as.hist 函数，来生成组数为 10 的直方图：\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "n, bins_limits, patches = ax.hist(x, num_bins, density=1)\n",
    "\n",
    "print(\"n 是分组区间对应的频率：\",n,end=\"\\n\\n\")\n",
    "print(\"bins_limits 是分组时的分隔值：\",bins_limits,end=\"\\n\\n\")\n",
    "print(\"patches 指的是是直方图中列表对象\",type(patches),end=\"\\n\\n\")\n",
    "\n",
    "for a,b in enumerate(patches):\n",
    "    print(a,b) # 遍历取出patches列表的序列和值\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### xy：xy位置（x取值bins_limits 是分组时的分隔值，y取值都是0开始）\n",
    "### width ：宽度为各个bin的区间范围（bins_limits 是分组时的分隔值）\n",
    "### height ：高度也就是密度值（n 是分组区间对应的频率）\n",
    "### angle：角度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 添加分布曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.family']='SimHei'\n",
    "plt.rcParams['font.size']=20\n",
    "\n",
    "mu = 100\n",
    "sigma = 20\n",
    "x = np.random.normal(100,20,100) # 均值和标准差\n",
    "\n",
    "# 指定分组个数\n",
    "num_bins = 10\n",
    "\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "\n",
    "# 绘图并接受返回值\n",
    "n, bins_limits, patches = ax.hist(x, num_bins, density=1)\n",
    "\n",
    "\n",
    "# 添加分布曲线\n",
    "ax.plot(bins_limits[:10],n,'--')\n",
    "\n",
    "\n",
    "plt.title('直方图数据添加分布曲线')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 不等距分组\n",
    "上面的直方图都是等距的，但有时我们需要得到不等距的直方图，这个时候只需要确定分组上下限，并指定 histtype=\"bar\" 就可以"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "bins = [50, 60, 70, 90, 100,110, 140, 150]\n",
    "ax.hist(x, bins, density=1, histtype='bar', color=\"g\",rwidth=0.8)\n",
    "ax.set_title('不等距分组')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 多类型直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 用来正常显示负号\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "\n",
    "# 指定分组个数\n",
    "n_bins=10\n",
    "\n",
    "fig,ax=plt.subplots(figsize=(8,5))\n",
    "\n",
    "# 分别生成10000 ， 5000 ， 2000 个值\n",
    "x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]\n",
    "\n",
    "\n",
    "# 实际绘图代码与单类型直方图差异不大，只是增加了一个图例项\n",
    "# 在 ax.hist 函数中先指定图例 label 名称\n",
    "ax.hist(x_multi, n_bins, histtype='bar',label=list(\"ABC\"))\n",
    "\n",
    "ax.set_title('多类型直方图')\n",
    "\n",
    "# 通过 ax.legend 函数来添加图例\n",
    "ax.legend()\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5rc1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
